﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using PGE.Models.Repositorios;

namespace PGE.Models.Cadastros
{
    public class CadastroVisita : IDisposable
    {
        private IRepositorioFabrica repositoryFactory;

        public CadastroVisita()
        {
            this.repositoryFactory = new RepositoryFactory();
        }

        public void Criar(Visita visita)
        {
            repositoryFactory.Repository<Visita>().Insert(visita);
            repositoryFactory.Save();
        }

        public void Editar(Visita visita)
        {
            repositoryFactory.Repository<Visita>().Update(visita.ID, visita);
            repositoryFactory.Save();
        }

        public void Remover(Visita visita)
        {
            repositoryFactory.Repository<Visita>().Delete(visita);
            repositoryFactory.Save();
        }

        public List<Visita> AllVisitas()
        {
            return repositoryFactory.Repository<Visita>().DbSet.Include("Cliente").ToList();
        }

        public Visita GetVisita(int id)
        {
            return repositoryFactory.Repository<Visita>().Find(id);
        }

        public void Dispose()
        {
            repositoryFactory.Dispose();
        }
    }
}